package gruppenkalenderProjekt.db;

/**
 * Datenbankverbindung
 *
 * @author  Rathke,Thies
 * @coauthor Gruppe 2
 *
 */


import java.sql.*;


// <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
// #[regen=yes,id=DCE.0783D5ED-30A4-4AE2-0F1B-3B4F42614EA0]
// </editor-fold> 
public class DBConnection {

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.E6C616C0-4180-328C-B496-CD0FE7B04764]
    // </editor-fold> 
    private static Connection con;

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.F65E9CD3-B6CF-B43E-9DFD-B0DDAC41DE41]
    // </editor-fold> 
      private static String url = "jdbc:mysql://mars.iuk.hdm-stuttgart.de/u-sa043?user=sa043&password=chies2Haeg&Unicode=true&characterEncoding=UTF8";

    // <editor-fold defaultstate="collapsed" desc=" UML Marker "> 
    // #[regen=yes,id=DCE.BE566444-A638-4BB4-FA59-92ABE5E3BCAA]
    // </editor-fold> 
   public static Connection connection() {
       		if ( con == null ) {
			try {

                                System.out.println("neue jdbc instanz erstellen...");


				Class.forName("com.mysql.jdbc.Driver").newInstance(); //DB Treiber laden



                                con = DriverManager.getConnection(url); //driver manager baut verbindung zu url  auf
                                                                        //speichert in con und verwendet diese ab jetzt
                                                                      //diverse exceptions werden abgefangen
                                System.out.println("Verbindung aufgebaut!");
                               
                        }
			catch (SQLException e) {
				con = null;
                                System.err.println("SQlException");
                               
				e.printStackTrace();
			}
			catch (InstantiationException e) {
                                System.err.println("InstantiationException");
                              
				con = null;
				e.printStackTrace();
			}
			catch (IllegalAccessException e) {
				con = null;
                                System.err.println("illegal access");
                               
				e.printStackTrace();
			}
			catch (ClassNotFoundException e) {
                                System.err.println("DBConnection: Klasse nicht gefunden!");
                                
				con = null;
				e.printStackTrace();
			}
		}
                if(con != null){
                    System.out.println("Verbindung bereits hergestellt.");
                  
                }else{
                    System.err.println("Verbindung fehlgeschlagen.");
                 
                }
		return con; //rüchgabewert
    }

}



